package com.example.demo.utils;

import com.example.demo.controller.bean.Result;

/**
 * @author Lucy
 * @create 2024-02-01 19:27
 */
public class PromptUtil {
    /**
     * @param imageStatus
     * normal-识别正常
     * reversed_side-身份证正反面颠倒
     * non_idcard-上传的图片中不包含身份证
     * blurred-身份证模糊
     * other_type_card-其他类型证照
     * over_exposure-身份证关键字段反光或过曝
     * over_dark-身份证欠曝（亮度过低）
     * unknown-未知状态
     * @return
     */
    public static Result<String> imageStatusPrompt (String imageStatus) {
        if(imageStatus.equals("reversed_side")){
            return Result.warn("身份证正反面颠倒");
        }else if (imageStatus.equals("non_idcard")) {
            return Result.warn("上传的图片中不包含身份证");
        }else if (imageStatus.equals("blurred")) {
            return Result.warn("身份证模糊");
        }else if (imageStatus.equals("other_type_card")) {
            return Result.warn("其他类型证照");
        }else if (imageStatus.equals("over_exposure")) {
            return Result.warn("身份证关键字段反光或过曝");
        }else if (imageStatus.equals("over_dark")) {
            return Result.warn("身份证欠曝（亮度过低）");
        }else {
            return Result.warn("未知状态");
        }
    }

    /**
     * @param riskType
     * normal-正常身份证；
     * copy-复印件；
     * temporary-临时身份证；
     * screen-翻拍；
     * unknown-其他未知情况
     * @return
     */

    public static Result<String> riskTypePrompt(String riskType) {
        if(riskType.equals("copy")){
            return Result.warn("复印件");
        }else if (riskType.equals("temporary")) {
            return Result.warn("临时身份证");
        }else if (riskType.equals("screen")) {
            return Result.warn("翻拍");
        }else {
            return Result.warn("其他未知情况");
        }
    }

    /**
     * @param idcardNumberType
     * 用于校验身份证号码、性别、出生是否一致，输出结果及其对应关系如下：
     * - 1： 身份证正面所有字段全为空
     * 0： 身份证证号不合法，此情况下不返回身份证证号
     * 1： 身份证证号和性别、出生信息一致
     * 2： 身份证证号和性别、出生信息都不一致
     * 3： 身份证证号和出生信息不一致
     * 4： 身份证证号和性别信息不一致
     * @return
     */
    public static Result<String> idCardNumberTypePrompt(int idcardNumberType) {
        switch (idcardNumberType) {
            case -1:
                return Result.warn("身份证正面所有字段全为空");
            case 0:
                return Result.warn("身份证证号不合法，此情况下不返回身份证证号");
            case 1:
                return Result.warn("身份证证号和性别、出生信息一致");
            case 2:
                return Result.warn("身份证证号和性别、出生信息都不一致");
            case 3:
                return Result.warn("身份证证号和出生信息不一致");
            default:
                return Result.warn("身份证证号和性别信息不一致");
            }
    }
}
